Generating building designs while computationally optimizing for work conditions

ABSTRACT

Various embodiments set forth systems and techniques for generating work condition values for a building layout. The techniques include receiving a building layout specifying, for each workspace of a plurality of workspaces included in the workplace, a respective location of the workspace; selecting one or more work condition elements from a plurality of work condition elements based at least on the plurality of workspaces; for each work condition element of the one or more work condition elements: evaluating the plurality of workspaces based on the work condition element; based on the evaluating the plurality of workspaces, generating an element value corresponding to the work condition element; and computing, based on element values corresponding to the one or more work condition elements, an overall work condition value associated with the building layout.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the priority benefit of the U.S. Provisional Patent Application having Ser. No. 62/937,190 (Attorney Docket AUTO1468USL) and filed on Nov. 18, 2019. The subject matter of this related application is hereby incorporated herein by reference.

BACKGROUND Field of the Various Embodiments

The present invention relates generally to computer science and computer-aided design and, more specifically, to computer-implemented techniques for generating building designs while computationally optimizing for work conditions.

Description of the Related Art

Generating a building design and layout, such as for a building or workplace, oftentimes is a complex process where many different design goals as well as numerous constraints and requirements must be considered. For example, when designing a building or other similarly intricate industrial building, a designer has to consider, among other things, operating requirements, production requirements, architectural and engineering constraints, cost constraints, and building site constraints.

With respect to the operating requirements of a typical industrial building, the layout of a building affects the overall of the quality of work conditions of the employees. For example, the location of an employee's desk and the view from the desk of an employee affects the work condition of the employee working at the desk. In data-driven approaches to building design analysis, the building design and layout can be optimized based on data, measurements, and metrics corresponding to different design goals. However, due to the subjective nature of work conditions, unlike other aspects of building design and layout, there are no metrics or measurements that can be used to evaluate how different elements of the building design and layout affect the quality of employee work conditions.

One drawback to using conventional CAD software when designing industrial buildings is that much of the information needed to properly model and simulate the working conditions of employees in a building via the simulation methods incorporated into conventional CAD software is not available or determined until the end of the building design process. In particular, due to the various elements that affect working condition in a building, typical approaches for measuring working conditions rely on tracking and measuring actual conditions after a layout is implemented and in use. As a result, generating layouts for an industrial building using conventional CAD software involves an ad-hoc trial-and-error approach.

As the foregoing illustrates, what is needed in the art are more effective techniques for optimizing a design of a building that accounts for quantitative and qualitative conditions.

SUMMARY

One embodiment of the present application sets forth a computer-implemented method for determining employee work conditions in factories and workplaces. The method includes receiving a building layout specifying, for each workspace of a plurality of workspaces included in the workplace, a respective location of the workspace; selecting one or more work condition elements from a plurality of work condition elements based at least on the plurality of workspaces; for each work condition element of the one or more work condition elements: evaluating the plurality of workspaces based on the work condition element; based on the evaluating the plurality of workspaces, generating an element value corresponding to the work condition element; and computing, based on element values corresponding to the one or more work condition elements, an overall work condition value associated with the building layout.

At least one technical advantage of the disclosed techniques relative to the prior art is that the disclosed techniques can be incorporated into a CAD application to enable the CAD application to automatically explore a design space to identify building layouts that optimize working conditions of employees in the building. Accordingly, with the disclosed techniques, a CAD application can generate a substantially larger number of building designs that, for example, are optimized for working conditions in the specific function of the building, relative to a conventional CAD application. This functionality, which is not available in conventional CAD applications, increases the likelihood that an optimal layout design can be automatically generated and identified for a given building design. These technical advantages represent one or more tangible and meaningful technological improvements over conventional CAD applications.

BRIEF DESCRIPTION OF THE DRAWINGS

So that the manner in which the above recited features of the various embodiments can be understood in detail, a more particular description of the inventive concepts, briefly summarized above, may be had by reference to various embodiments, some of which are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrate only typical embodiments of the inventive concepts and are therefore not to be considered limiting of scope in any way, and that there are other equally effective embodiments.

FIG. 1 is a schematic diagram illustrating a computing system configured to implement one or more aspects of the present disclosure.

FIG. 2 is a more detailed illustration of the data store and design engine of FIG. 1, according to various embodiments of the present disclosure.

FIG. 3 illustrates an exemplary building layout associated with the design engine of FIG. 1, according to various embodiments of the present disclosure.

FIG. 4 illustrates exemplary view rays and paths from workspaces within the building layout of FIG. 3, according to various embodiments of the present disclosure.

FIG. 5 is a flowchart of method steps for work condition calculation performed by the design engine of FIG. 1, according to various embodiments of the present disclosure.

DETAILED DESCRIPTION

In the following description, numerous specific details are set forth to provide a more thorough understanding of the various embodiments. However, it will be apparent to one of skilled in the art that the inventive concepts may be practiced without one or more of these specific details.

FIG. 1 illustrates a computing device 100 configured to implement one or more aspects of the present disclosure. As shown, computing device 100 includes an interconnect (bus) 112 that connects one or more processing units 102, an input/output (I/O) device interface 104 coupled to one or more input/output (I/O) devices 108, memory 116, a storage 114, and a network interface 106.

Computing device 100 includes a desktop computer, a laptop computer, a smart phone, a personal digital assistant (PDA), tablet computer, or any other type of computing device configured to receive input, process data, and optionally display images, and is suitable for practicing one or more embodiments. Computing device 100 described herein is illustrative and that any other technically feasible configurations fall within the scope of the present disclosure.

Processing unit(s) 102 includes any suitable processor implemented as a central processing unit (CPU), a graphics processing unit (GPU), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), an artificial intelligence (AI) accelerator, any other type of processing unit, or a combination of different processing units, such as a CPU configured to operate in conjunction with a GPU. In general, processing unit(s) 102 may be any technically feasible hardware unit capable of processing data and/or executing software applications. Further, in the context of this disclosure, the computing elements shown in computing device 100 may correspond to a physical computing system (e.g., a system in a data center) or may be a virtual computing instance executing within a computing cloud.

In one embodiment, I/O devices 108 include devices capable of providing input, such as a keyboard, a mouse, a touch-sensitive screen, and so forth, as well as devices capable of providing output, such as a display device. Additionally, I/O devices 108 may include devices capable of both receiving input and providing output, such as a touchscreen, a universal serial bus (USB) port, and so forth. I/O devices 108 may be configured to receive various types of input from an end-user (e.g., a designer) of computing device 100, and to also provide various types of output to the end-user of computing device 100, such as displayed digital images or digital videos or text. In some embodiments, one or more of I/O devices 108 are configured to couple computing device 100 to a network 110.

Network 110 includes any technically feasible type of communications network that allows data to be exchanged between computing device 100 and external entities or devices, such as a web server or another networked computing device. For example, network 110 may include a wide area network (WAN), a local area network (LAN), a wireless (WiFi) network, and/or the Internet, among others.

Storage 114 includes non-volatile storage for applications and data, and may include fixed or removable disk drives, flash memory devices, and CD-ROM, DVD-ROM, Blu-Ray, HD-DVD, or other magnetic, optical, or solid-state storage devices. Design engine 118 and data store 120 may be stored in storage 114 and loaded into memory 116 when executed.

Memory 116 includes a random-access memory (RAM) module, a flash memory unit, or any other type of memory unit or combination thereof. Processing unit(s) 102, I/O device interface 104, and network interface 106 are configured to read data from and write data to memory 116. Memory 116 includes various software programs that can be executed by processing unit(s) 102 and application data associated with said software programs, including design engine 118 and data store 120.

In operation, design engine 118 is configured to design and optimize buildings such as factories or other workplaces. Design engine 118 receives input from data store 120 that describes various aspects of the building being designed, such as a site on which the building is to be built, operations to be performed in the building, and various other constraints and requirements for the building. Design engine 118 generates a spectrum of potential building designs based on the received input. A building design may include for example, a building footprint; building geometry such as a floorplan and/or a three-dimensional model of the building; a layout of rooms, systems, infrastructure, and other elements of the building; and a layout of the building within a site, such as a location and/or orientation of the building in the site. Design engine 118 evaluates the generated designs based on various criteria. Design engine 118 uses the results of the evaluation to further optimize and refine the generated designs to produce additional building designs. Additionally, design engine 118 presents the results of the evaluation to an end user. Design engine 118 implements various software modules in order to generate and optimize building designs. These software modules are discussed in greater detail below in conjunction with FIG. 2.

FIG. 2 is a more detailed illustration of design engine 118 and data store 120 of FIG. 1, according to various embodiments of the present disclosure. As shown, design engine 118 is coupled to data store 120 and includes, without limitation, geometry generation module 220, layout generation module 222, metric generation module 224, evaluation module 226, and evaluation results 228.

In one or more embodiments, design engine 118 obtains data describing requirements and constraints associated with generating building designs for the building from data store 120. Additionally, in some embodiments, design engine 118 may store generated data, such as building geometries, building layouts, metrics associated with a building geometry or building layout, and/or evaluation results, to data store 120. As shown in FIG. 2, data store 120 includes, without limitation, operation data 210, workspace data 212, geometry data 214, site data 216, and design data 218.

Operation data 210 includes data describing operations of the building. For example, data describing operations of a factory may include data indicating workstations, operators, personnel, schedules, zones, positions, tools, storage facilities, parts, materials, equipment, transport requirements or restrictions, or other elements and features associated with operations of the factory. Additionally, the data describing the factory operations may include data describing the elements and features associated with operations of the factory, such as weights of parts and materials. As another example, data describing operations of a workplace may include data indicating office spaces, desks, meeting rooms, common areas, amenities such as restrooms or breakrooms, staff, office personnel, schedules, zones, equipment, space requirements or restrictions, or other elements and features associated with the workplace. Additionally, the data describing the workplace operations may include data describing the elements and features associated with the workplace, such as the number of offices, desks, common areas, and amenities.

Workspace data 212 includes data describing workstations or workspaces of the building. For example, data describing a workstation may include data indicating one or more operations associated with the workstation, one or more operation tasks associated with the workstation, dimensions of the workstation, a shape of the workstation, or other information related to the workstation. As another example, data describing a workspace may include data indicating one or more personnel types associated with the workspace, one or more categories or functions associated with the workspace, a shape of the workspace, dimensions of the workspace, a type and number of elements associated with the workspace such as desks, tables, and seating, or other information related to the workspace. A workspace may generally refer to any defined space within the building, open or enclosed, for employees to perform work, such as a meeting room, office, group of desks, group of cubicles, and so forth.

Geometry data 214 includes data describing the building. For example, the data describing the building may include data indicating a size of the building, a shape of the building, a footprint of the building, an orientation of the building structural elements of the building, fixed equipment within the building and locations of the fixed equipment, and infrastructure of the building such as loading docks, entrances, exits, and mechanical systems. In some embodiments, geometry data 214 includes a three-dimensional (3D) model of the building, a wireframe model of the building, a surface mesh of the building, a footprint of the building, a floorplan of the building, images or renders of the building from one or more views, and/or other visualizations of the building geometry. The geometry data 214 may be data that was generated by design engine 118, data received from another application or tool, data entered or otherwise provided by a user, or a combination thereof.

In some embodiments, geometry data 214 includes a layout indicating locations of workstations or workspaces within the building. The layout may be generated by design engine 118, generated by another application or tool, or designed by a user. In some embodiments, design engine 118 generates the layout for the building based on information describing the building, such as operation data 210 and workspace data 212. In some embodiments, geometry data 214 includes one or more visualizations of the building, and the visualizations may include visualizations of workstations and workspaces within the building according to the layout.

Site data 216 includes data describing a site at which the building is to be constructed. For example, the data describing the site may include data indicating a location of the site, a size of the site, a shape of the site, an orientation of the site, fixed equipment within the site and locations of the fixed equipment, utilities around or underneath the site, topography of the site, elevation(s) of the site, soil conditions of the site, restriction(s) on the site, and infrastructure of the site such as roads and paths. Additionally, in some embodiments, site data 216 may include data describing one or more adjacent sites. For example, data describing an adjacent site may include data indicating a location of the adjacent site, a relative location of the adjacent site with respect to the site, a size of the adjacent site, a shape of the adjacent site, an orientation of the adjacent site, fixed equipment within the adjacent site and locations of the fixed equipment, utilities around or underneath the adjacent site, topography of the adjacent site, elevation(s) of the adjacent site, soil conditions of the adjacent site, restriction(s) on the adjacent site, infrastructure of the adjacent site such as roads and paths. Additionally, in some embodiments, the data describing the adjacent site may include data indicating one or more costs associated with the adjacent site, such as zoning costs, permitting costs, purchasing costs, and so forth.

Design data 218 includes data associated with one or more designs of the building. For example, data describing a building design may include restrictions and requirements associated with the building design, such as production requirements (e.g. number of workstations, number of production bays, target production rate, target production efficiency), workspace requirements (e.g. number of desks, number of common areas and amenities, number of meeting rooms), building size requirements, capacity requirements, infrastructure requirements, system requirements, accessibility requirements, architectural and engineering constraints, and so forth.

In some embodiments, design data 218 includes data describing materials associated with the building design, such as windows, doors, cladding, piping and plumbing types and sizes, wiring types and sizes, and mechanical systems such as heating, ventilation and air conditioning (HVAC) systems. The data describing the materials may include estimated costs for each material.

In operation, geometry generation module 220 receives site data 216 and design data 218 from data store 120 and generates a building geometry 230. Building geometry 230 indicates the size and shape of the building. In some embodiments, generating building geometry 230 includes generating a visualization of the building geometry, such as a 2D footprint of the building and/or a 3D model of the building. In some embodiments, building geometry 230 also indicates a placement of the building within the site, such as location and orientation of the building on the site.

Layout generation module 222 receives operation data 210 and workspace data 212, and generates a layout 240 associated with the building (also referred to herein as “building layout 240”). Layout 240 indicates locations within a building, such as a factory, for a plurality of workstations or workspaces of the building. In some embodiments, layout 240 also indicates locations within the building of other rooms or elements of the building, such as storage facilities, tools, supplies, entrances, exits, elevators, stairs, material transport paths or structures, or other rooms or elements used by factory or workplace operations. In one or more embodiments, generating the layout 240 is based on a pre-defined building geometry, such as building geometry 230 and/or geometry data 214. Layout generation module 222 receives building geometry 230 and/or geometry data 214, and determines locations for the workstations, workspaces, and other rooms or elements of the building within the boundaries of the building indicated by the pre-defined geometry.

Metric generation module 224 receives building geometry 230 and/or building layout 240 and generates one or more metrics 250 associated with the building design based on the building geometry 230 and/or the building layout 240. In some embodiments, metric generation module 224 also receives one or more of operation data 210, workspace data 212, geometry data 214, site data 216, or design data 218, and generating the one or more metrics 250 is further based on the received data.

In some embodiments, each metric 250 corresponds to a particular design goal for the building, such as minimizing construction cost, target square footage, lot efficiency goals, production goals, productivity goals, occupancy or capacity goals, energy usage targets, ventilation and air flow targets, maximizing or minimizing light exposure, workflow or operational efficiency goals, sustainability goals, and so forth. Each metric 250 may be a value or measurement associated with the corresponding design goal.

Metric 250 includes one or more employee work condition values that correspond to employee work condition design goals. A workplace condition value indicates an overall quality of employee work conditions for the building. As shown, metric generation module 224 includes work condition value generator 260 for generating the one or more employee workplace condition values.

Work condition value generator 260 generates the one or more employee work condition values based on a layout of the building. The building layout may be a layout generated by layout generation module 222, a layout generated by another application or tool, or a layout received from data store 120. The building layout 240 indicates the locations within the building of workstations or workspaces of the building. In some embodiments, work condition value generator 260 generates the one or more employee work condition values based on the locations of the workstations or workspaces indicated by the building layout.

In one or more embodiments, generating the one or more employee work condition values is further based on workspace data 212 associated with the workstations or workspaces in the building layout 240. The workspace data 212 may include, for example, a category or function associated with the workspace, a number of desks or workstations within the workspace, the locations of desks or workstations within the workspace, the orientation of desks or workstations within the workspace, a type of employee associated with the workspace, and so forth.

In one or more embodiments, generating the one or more employee work condition values is further based on site data 216 and/or building geometry 230. The site data 216 and building geometry 230 may include, for example, features on or near the site, the location of the building relative to the features on or near the site, the location of the building within the site, the orientation of the building within the site, light exposure of the building, and so forth.

In one or more embodiments, to generate the one or more employee work condition values, work condition value generator 260 selects one or more work condition elements for evaluating employee work conditions of the building. A work condition element may be, for example, distances from workstations or workspaces to common areas, distances from workstations or workspaces to restrooms, distances from workstations or workspaces to windows, amount natural light exposure of workstations or workspaces, whether workstations or workspaces are affected by glare, whether workstations or workspaces have views to the outside of the building, whether workstations or workspaces have views to features on or around the site such as water features, whether workstations or workspaces have views to green spaces in or around the building, and so forth.

In some embodiments, selecting the one or more work condition elements is based on the type of building. For example, each type of building may be associated with one or more particular work condition elements of a plurality of work condition elements. Work condition value generator 260 determines the type of building, e.g. a factory or workplace, and selects the one or more particular work condition elements associated with the type of building. In some embodiments, the type of building may be indicated by data stored in data store 120, such as in operation data 210 or design data 218. In some embodiments, work condition value generator 260 may receive and analyze data associated with the building, e.g. operation data 210, workspace data 212, geometry data 214, and building layout 240, to determine the type of building. For example, work condition value generator 260 may determine the building type based on operations associated with the building, the types of employees associated with the building, the types of workspaces or workstations in the building, and so forth.

In some embodiments, selecting the one or more work condition elements is based on one or more types of workers or personnel associated with the building. For example, each type of worker or personnel may be associated with one or more particular work condition elements of a plurality of work condition elements. Work condition value generator 260 determines one or more types of workers or personnel associated with the building and selects the one or more particular work condition elements associated with each type of work or personnel. In some embodiments, work condition value generator 260 receives operation data 210 and determines the one o more types of workers or personnel based on the operation data 210. In some embodiments, determining the one or more types of workers or personnel includes determining, for each workstation or workspace of the building, one or more types of worker or personnel associated with the workstation or workspace.

In some embodiments, selecting the one or more work condition elements is based on one or more operations or types of operations performed in the building. For example, each operation or operation type may be associated with one or more particular work condition elements of a plurality of work condition elements. Work condition value generator 260 determines one or more operations associated with the building and/or one or more types of operations associated with the building and selects the one or more particular work condition elements associated with each operation or type of operation. In some embodiments, work condition value generator 260 receives operation data 210 and determines the one or more operations and/or one or more types of operations associated with the building based on operation data 210.

In some embodiments, selecting the one or more work condition elements is based on one or more workstations, workspaces, or other areas within the building. For example, each workstation, workspace, or other area may be associated with one or more particular work condition elements of a plurality of work condition elements. As another example, each category or function associated with a workstation, workspace, or other area of the building may be associated with one or more particular work condition elements. Work condition value generator 260 determines one or more types of workstations, workspaces, and/or other areas, such as offices and common areas, and selects the one or more particular work condition elements associated with each type of workstation, workspace, or area.

In some embodiments, work condition value generator 260 determines, for each workspace, workstation, or other area indicated in the building layout, whether the workspace, workstation or other area is associated with any work condition elements. In some embodiments, work condition value generator 260 receives workspace data 212 and determines the type of workspace, workstation, or other area, based on the workspace data 212. For example, workspace data 212 may include data indicating a particular category or function associated with a particular workspace, and work condition value generator 260 selects one or more work condition elements associated with the particular category or function.

In some embodiments, a particular work condition element may be associated with a particular workspace, workstation, or other area of the building, or a particular type of area of the building. Work condition value generator 260 selects the particular work condition element based on determining that the particular workspace, workstation, area, or type of area is included in the building layout.

In some embodiments, selecting the one or more work condition elements is based on one or more elements or features outside of the building, such as green spaces, courtyards, water features, and so forth. For example, a particular work condition element may be associated with a particular type of outdoor element or feature. Work condition value generator 260 determines whether the particular type of outdoor element or feature exists on or around the site, and in response to determining that the particular type of outdoor element or feature exists on or around the site, selects the particular work condition element. In some embodiments, work condition value generator 260 receives site data 216 and determines whether the particular type of outdoor element or feature exists based on the site data 216.

Additionally, in some embodiments, selecting the one or more work condition elements may be based on user input specifying one or more particular work condition elements from a plurality of work condition elements.

In some embodiments, after selecting the one or more work condition elements, work condition value generator 260 evaluates, for each workstation or workspace of the building, the workstation or workspace based on the work condition element. Additionally, each workstation or workspace may include a plurality of stations, desks, or seats. Evaluating the workstation or workspace based on the work condition element may include, for each station, desk, or seat of the workstation or workspace, evaluating the work condition element based on the station, desk, or seat.

In one or more embodiments, work condition value generator 260 generates, for each work condition element of the one or more work condition elements, a respective element value. The respective element value is a metric or measurement associated with the work condition element. The respective element value indicates how much or whether the building layout satisfies the work condition element.

In some embodiments, evaluating each workstation or workspace of the building based on the work condition element includes generating a respective workspace value for each workstation or workspace based on evaluating the work condition element for the workstation or workspace. Work condition value generator 260 calculates the element value for the work condition element based on the workspace values for the workstations or workspaces of the building. Generating the element value based on a plurality of workspace values may include, for example, adding, averaging, or otherwise aggregating the plurality of workspace values.

Based on the element values for the one or more work condition elements, work condition value generator 260 calculates an overall work condition value. Calculating the overall work condition value may include, for example, adding, averaging, or otherwise aggregating the element values for the one or more work condition elements.

FIG. 3 illustrates an example building layout 300. As shown, building layout 300 includes a building footprint 310 and a plurality of workspaces 320(1)-320(4). Additionally, building layout 300 includes a plurality of non-work areas 330(1)-330(3) and a courtyard 340. The non-work areas 330(1)-330(3) may be, for example, common areas, lounge areas, restrooms, break rooms, and such. The building layout 300 indicates a location of each workspace 320 within the building footprint 310. Additionally, building layout 300 indicates a location of each non-work area 330 within the building footprint 310. As shown, building layout 300 also indicates a location of the courtyard 340 outside of the building.

Work condition value generator 260 receives building layout 300 and selects one or more work condition elements for evaluating the building layout 300 in the manner described above in conjunction with FIG. 2. For example, work condition value generator 260 may select the one or more work condition elements based on the building, the plurality of workspaces 320(1)-320(4), the plurality of non-work areas 330(1)-330(3), the courtyard 340, and/or the site on which the building is to be located.

Work condition value generator 260 evaluates each of the workspaces 320(1)-320(4) based on each selected work condition element. In one or more embodiments, work condition value generator 260 generates, for each selected work condition element, an element value for the work condition element based on evaluating the workspaces 320(1)-320(4).

As an example, the one or more work condition elements for building layout 300 may include whether the workspaces 320 have views to the outside of the building, whether the workspaces 320 have views to the courtyard 340, whether the workspaces 320 are affected by glare, whether the workspaces 320 are exposed to natural light, and distances from the workspaces 320 to non-work areas 330.

In some embodiments, evaluating a workspace based on a work condition element includes determining whether the workspace satisfies the work condition element. For example, the work condition element may be whether the workspace is spaced a minimum distance from other workspaces in the building layout. Work condition value generator 260 calculates an element value based on the number of workspaces that satisfy the work condition element. In some embodiments, work condition value generator 260 calculates a workspace value for each workspace based on whether the workspace satisfies the work condition element. For example, a workspace value of 1 may indicate that the workspace satisfies the work condition element, and a workspace value of 0 may indicate that the workspace does not satisfy the work condition element. In some embodiments, work condition value generator 260 calculates a normalized element value for the work condition element by dividing the number of workspaces that satisfy the work condition element by the total number of workspaces.

In some embodiments, evaluating a workspace based on a work condition element includes generating one or more view rays or paths. A view ray or path may start at the workspace and extend towards a target destination. Additionally, a view ray may start at a target source and extend towards the workspace. A path may be between a workspace and a target destination. The target destination or target source may be based on the work condition element by which the workspace is being evaluated. For example, if the work condition element is whether workspaces have views to the outside of the building, then work condition value generator 260 generates one or more view rays extending from the workstation towards the outside of the building. As another example, if the work condition element is the distance from workstations to a lounge area, then work condition value generator 260 generates one or more paths from the workstation to one or more lounge areas of the building. As another example, if the work condition element is the amount of natural light on the workspace, then work condition value generator 260 generates one or more view rays extending from windows of the building towards the workstation. Additionally, in one or more embodiments, each workspace includes a plurality of stations, desks, or seats. Generating the one or more view rays or paths to or from the workspace includes generating a respective view ray or path for each station, desk, or seat of the plurality.

FIG. 4 illustrates exemplary view rays and paths associated with the workspaces 320 of FIG. 3, according to various embodiments. As shown, view rays 410 are directed from workspaces 320(2) to the outside of the building; view rays 420 are directed from workspaces 320(2) to courtyard 340; view rays 430 are directed from workspace 320(4) to courtyard 340; path 440 travels from workspaces 320(4) to non-work area 330(3); path 450 travels from workspace 320(1) to non-work area 330(1); and path 460 travels from workspace 320(3) to non-work area 330(1).

Work condition value generator 260 calculates an element value for the work condition element based on the one or more view rays and/or paths generated for the work condition element. In some embodiments, work condition value generator 260 calculates a workspace value for each workspace 320(1)-(4), and calculates the element value based on the workspace values for the workspaces 320.

In some embodiments, to evaluate whether workspaces have a view to a target destination, work condition value generator 260 generates a plurality of view rays from the workspaces towards the target destination. Work condition value generator 260 determines the location of each workspace based on the building layout. Additionally, work condition value generator 260 determines the direction of the target destination based on one or more of building geometry 230, building layout 240, geometry data 214, site data 216, or external data sources, such as location data and landmark information from a map location database.

Depending on the location of the target destination and the location of the workspace, view rays from a workspace to a target destination may be obstructed by other elements of the building layout. Work condition value generator 260 determines a number of view rays of the plurality of view rays that are not obstructed and calculates an element value based on the number of unobstructed view rays. In some embodiments, work condition value generator 260 calculates a workspace value for each workspace based on the number of unobstructed view rays corresponding to the workspace. In some embodiments, work condition value generator 260 calculates a normalized element value for a work condition element by dividing the number of unobstructed view rays by the total number of view rays to the target destination.

As example, if the work condition element is whether workspaces have views to the outside of the building, then work condition value generator 260 generates one or more view rays extending from workspaces in the building towards windows facing the outside of the building. Referring to FIG. 4, work condition value generator 260 generates a plurality of view rays from workspaces 320 towards the outside of the building, including view rays 410 from workspace 320(2). Additionally, workspace 320(2) may comprise a plurality of desks (not shown), and work condition value generator 260 may generate a view ray from desk in the plurality of desks. Work condition value generator 260 generates an element value for the work condition element based on the total number of unobstructed view rays from all workspaces 320 compared to the total number of view rays from the workspaces 320. Additionally, in some embodiments, work condition value generator 260 may determine, for workspace 320(2), that a first subset of view rays 410 are unobstructed, while a second subset of view rays 420 are obstructed and do not reach the outside of the building, where the first subset and the second subset are different. Work condition value generator 260 may generate a workspace value corresponding to workspace 320(2) based on the number of rays in the first subset compared to the number of rays in the first subset plus the number of rays in the second subset.

In some embodiments, to evaluate whether workspaces are affected by a target source, work condition value generator 260 generates a plurality of view rays from the target source towards the workspaces. Work condition elements based on whether workspaces are affected by a target source include, for example, whether workspaces are affected by glare or whether workspaces are exposed to natural light. Work condition value generator 260 determines the location of each workspace based on the building layout. Additionally, work condition value generator 260 determines the direction of the target source based on one or more of building geometry 230, building layout 240, geometry data 214, site data 216, or external data sources, such as location data and landmark information from a map location database.

Depending on the location of the target source and the location of the workspace, view rays from a target source to a workspace may be obstructed by other elements of the building layout. Additionally, view rays from the target source may reach the workspace at different angles. Based on the work condition element, work condition value generator 260 determines a number of view rays of the plurality of view rays that satisfy the work condition element and calculates an element value based on the number of view rays that satisfy the work condition element. In some embodiments, work condition value generator 260 calculates a workspace value for each workspace based on the number of view rays corresponding to the workspace that satisfy the work condition element. In some embodiments, work condition value generator 260 calculates a normalized element value for a work condition element by dividing the number of view rays that satisfy the work condition element by the total number of view rays to the target destination.

As an example, if the work condition element is whether workspaces are exposed to natural light, then work condition value generator 260 generates one or more view rays extending from windows of the building towards workspaces in the building. Referring to FIG. 3, work condition value generator 260 generates a plurality of view rays from the outside of the building towards workspaces 320. Additionally, workspaces 320 may comprise a plurality of desks (not shown), and work condition value generator 260 may generate one or more view rays extending from windows of the building towards each desk in the plurality of desks. Work condition value generator 260 generates an element value for the work condition element based on the total number of view rays that reach the workspaces 320 compared to the total number of view rays.

In some embodiments, to evaluate the distance from workspaces to a target destination, work condition value generator 260 generates a plurality of paths between the workspaces and the target destination. Work condition value generator 260 determines the location of each workspace based on the building layout. Additionally, work condition value generator 260 determines the location of the target destination based on one or more of building geometry 230, building layout 240, geometry data 214, or site data 216.

Work condition value generator 260 calculates, for each path of the plurality of paths, the length of the path. In one or more embodiments, work condition value generator 260 determines a number of paths whose length is less than a threshold value, and calculates an element value based on the number of paths whose length is less than the threshold value. In one or more embodiments, work condition value generator 260 determines, for each path, a travel time from a workspace to the target destination based on the path. Work condition value generator 260 determines a number of paths whose travel time is less than a threshold value, and calculates an element value based on the number of paths whose travel time is less than the threshold value. In some embodiments, work condition value generator 260 calculates a workspace value for each workspace based on the paths corresponding to the workspace. In some embodiments, work condition value generator 260 calculates a normalized element value for a work condition element by dividing the number of paths whose travel time or length are less than a threshold value by the total number of paths to the target destination.

As an example, if the work condition element is distance from workspaces to lounge areas, then work condition value generator 260 generates one or more paths from the workspaces to lounge areas in the building. Referring to FIG. 4, assume non-work area 330(1) is a lounge area. Work condition value generator 260 generates a plurality of paths from workspaces 320 to non-work area 330(1), including path 450 from workspace 320(1) and paths 460 from workspace 320(3). Additionally, workspace 320(1) and 320(3) may each comprise a plurality of desks, and work condition value generator 260 may generate a path from each desk in the respective plurality of desks. Work condition value generator 260 generates an element value for the work condition element based on the length of the paths from workspaces 320 to lounge areas and/or based on the travel time associated with the paths from workspaces 320 to lounge areas. Additionally, in some embodiments, work condition value generator 260 may generate a first workspace value corresponding to workspace 320(1) based on the paths 450, and a second workspace value corresponding to workspace 320(3) based on the paths 460.

Work condition value generator 260 calculates an overall work condition value based on the element values for the one or more selected work condition elements. In some embodiments, work condition value generator 260 calculates the overall work condition value by adding the element values for the one or more selected work condition elements. In some embodiments, work condition value generator 260 calculates the overall work condition value by averaging the element values for the one or more selected work condition elements.

In some embodiments, work condition value generator 260 normalizes the overall work condition value to generate a normalized overall work condition value, such as a value between 0 and 1 or a value between 0 and 100. Normalizing the overall work condition value may be based on the number of work condition elements selected for the building design. Additionally, normalizing the overall work condition value may include normalizing each element value and/or each workspace value as discussed above. One benefit of normalizing the overall work condition value is that this enables the overall work condition value to be compared across different building designs, even if different work condition elements are selected for the different building designs and/or a different number of work condition elements are selected for the different building designs.

Evaluation module 226 receives the metrics 250, including the overall work condition value for the building design, and analyzes the metrics 250 to generate evaluation results 228. In some embodiments, the evaluation results 228 indicate, based on the metrics 250, how well or whether a building design satisfies one or more design goals. The design goals may include pre-defined goals and/or goals specified in design data 218, such as requirements of the building design.

In some embodiments, design engine 118 generate an interactive graphical user interface (GUI) that depicts the various analyses performed and the evaluation results 228 generated by the various analyses, and displays the GUI to the end user. Additionally, the GUI may depict one or more of a visualization of the building geometry 230, a visualization of the building layout 240, or the metrics 250.

In some embodiments, design engine 118 generates a plurality of building designs and the GUI depicts evaluation results, metrics, and visualizations corresponding to each building design of the plurality of building designs. This allows an end user to quickly view and compare metrics and evaluation results across several potential building designs generated by the design engine 118. Additionally, the GUI may include tools for searching, filtering, and/or sorting the plurality of building designs. For example, a user may interact with the GUI to identify building designs that satisfy a particular design criteria.

In some embodiments, the evaluation results 228 are provided back to geometry generation module 220 and/or layout generation module 222 for iterating on or optimizing building geometry 230 and/or building layout 240. Based on the evaluation results 228, geometry generation module 220 and/or layout generation module 222 repeat the geometry generation and/or layout generation procedure with input parameters varied according to the evaluation results. In this manner, geometry generation module 220 and layout generation module 222 may perform any number of different iterations until a collection of building designs are generated that meet the one or more design goals, that meet a threshold number of the one or more design goals, or meet the each of the one or more design goals to a threshold degree. After the collection of building designs are generated, design engine 118 may generate a GUI that depicts evaluation results, metrics, and/or visualizations corresponding to each building design of the collection of building designs, and display the GUI to the user.

FIG. 5 is a flowchart of method steps for work condition calculation performed by the design engine 118 of FIG. 1, according to various embodiments of the present disclosure. Although the method steps are described in conjunction with the systems of FIGS. 1 and 2, persons skilled in the art will understand that any system configured to perform the method steps in any order falls within the scope of the present disclosure.

In step 502, work condition value generator 260 receives a building layout 240 from layout generation module 222. Building layout 240 indicates the location within a building of a plurality of workspaces of the building. In some embodiments, work condition value generator 260 also receives workspace data 212 from data store 120. Workspace data 212 includes data describing the plurality of workspaces. In some embodiments, work condition value generator 260 also receives data describing the building. Work condition value generator 260 may receive geometry data 214 from data store 120 and/or receive building geometry 230 from geometry generation module 220. In some embodiments, work condition value generator 260 also receives site data 216. Site data 216 includes data describing the site that the building is to be constructed on. In some embodiments, work condition value generator 260 also receives design data 218 from data store 120. Design data 218 includes data describing restrictions or requirements associated with the building.

In step 504, work condition value generator 260 selects one or more work condition elements from a plurality of work condition elements for evaluating employee work conditions based on the building layout 240. Selecting the one or more work condition elements is performed in a manner similar to that disclosed above with respect to work condition value generator 260. In one or more embodiments, selecting the one or more work condition elements is based on one or more of: the type of building, types of workers or personnel associated with the building, operations performed in the building, types of operations performed in the building, the plurality of workspaces, non-workspace areas of the building, features of the building, elements outside of the building, features of the building, or user input specifying work condition elements.

In step 506, work condition value generator 260 evaluates the plurality of workspaces based on each work condition element of the one or more work condition elements. Evaluating the plurality of workspaces based on a work condition element is performed in a manner similar to that disclosed above with respect to work condition value generator 260. Additionally, each workstation or workspace may include a plurality of stations, desks, or seats. Evaluating the workstation or workspace based on the work condition element may include, for each station, desk, or seat of the workstation or workspace, evaluating the work condition element based on the station, desk, or seat.

In some embodiments, evaluating each workspace includes generating, a respective workspace value for the workspace. The respective element value is a metric or measurement associated with the work condition element. The respective element value indicates how much or whether workspace satisfies the work condition element.

In step 508, work condition value generator 260 generates a respective element value for each work condition element of the one or more work condition elements. Generating an element value for a work condition element is performed in a manner similar to that disclosed above with respect to work condition value generator 260. In some embodiments, work condition value generator 260 calculates the element value for the work condition element based on the workspace values for the workstations or workspaces of the building. Generating the element value based on a plurality of workspace values may include, for example, adding, averaging, or otherwise aggregating the plurality of workspace values.

In some embodiments, evaluating a workspace based on a work condition element includes determining whether the workspace satisfies the work condition element. For example, the work condition element may be whether the workspace is spaced a minimum distance from other workspaces in the building layout. Work condition value generator 260 calculates an element value based on the number of workspaces that satisfy the work condition element. In some embodiments, work condition value generator 260 calculates a workspace value for each workspace based on whether the workspace satisfies the work condition element.

In some embodiments, evaluating a workspace based on a work condition element includes generating one or more view rays or paths. A view ray or path may start at the workspace and extend towards a target destination, or may start at a target source and extend towards the workspace. A path may be between a workspace and a target destination. Additionally, in one or more embodiments, each workspace includes a plurality of stations, desks, or seats. Generating the one or more view rays or paths to or from the workspace includes generating a respective view ray or path for each station, desk, or seat of the plurality.

In some embodiments, to evaluate whether workspaces have a view to a target destination, work condition value generator 260 generates a plurality of view rays from the workspaces towards the target destination. Work condition value generator 260 determines a number of view rays of the plurality of view rays that are not obstructed and calculates an element value based on the number of unobstructed view rays. In some embodiments, work condition value generator 260 calculates a workspace value for each workspace based on the number of unobstructed view rays corresponding to the workspace.

In some embodiments, to evaluate whether workspaces are affected by a target source, work condition value generator 260 generates a plurality of view rays from the target source towards the workspaces. Based on the work condition element, work condition value generator 260 determines a number of view rays of the plurality of view rays that satisfy the work condition element and calculates an element value based on the number of view rays that satisfy the work condition element. In some embodiments, work condition value generator 260 calculates a workspace value for each workspace based on the number of view rays corresponding to the workspace that satisfy the work condition element.

In some embodiments, to evaluate the distance from workspaces to a target destination, work condition value generator 260 generates a plurality of paths between the workspaces and the target destination. Work condition value generator 260 calculates, for each path of the plurality of paths, the length of the path. In one or more embodiments, work condition value generator 260 determines a number of paths whose length is less than a threshold value, and calculates an element value based on the number of paths whose length is less than the threshold value. In one or more embodiments, work condition value generator 260 determines, for each path, a travel time from a workspace to the target destination based on the path. Work condition value generator 260 determines a number of paths whose travel time is less than a threshold value, and calculates an element value based on the number of paths whose travel time is less than the threshold value. In some embodiments, work condition value generator 260 calculates a workspace value for each workspace based on the paths corresponding to the workspace.

In step 510, work condition value generator 260 calculates an overall work condition value for the building layout based on the element values for the one or more work condition elements. Calculating the overall work condition value is performed in a manner similar to that disclosed above with respect to work condition value generator 260. Calculating the overall work condition value may include, for example, adding, averaging, or otherwise aggregating the element values for the one or more work condition elements.

In some embodiments, work condition value generator 260 normalizes the overall work condition value to generate a normalized overall work condition value, such as a value between 0 and 1 or a value between 0 and 100. Normalizing the overall work condition value may be based on the number of work condition elements selected for the building design. For example, normalizing the overall work condition value may include dividing the overall work condition value by the number of work condition elements. Additionally, normalizing the overall work condition value may include normalizing each element value and/or each workspace value as discussed above with respect to work condition value generator 260. One benefit of normalizing the overall work condition value is that this enables the overall work condition value to be compared across different building designs, even if different work condition elements are selected for the different building designs and/or a different number of work condition elements are selected for the different building designs.

In sum, the computer system generates one or more employee work condition values that indicate the quality of employee work conditions corresponding to a layout of a factory or workplace. The computer system receives input data describing workstations in a factory or workspace and a layout of workstations within the factory or workspace.

In one approach, the computer system determines one or more employee work condition elements associated with the workstations. Each employee work condition element contributes to the overall quality of employee work conditions for the factory or workspace. The employee work condition elements may include, for example, views from workstations to particular building elements or exterior elements, light exposure of workstations, spacing between workstations, and distances from the workstations to amenities in the building.

The computer system selects the one or more employee work condition elements from a plurality of employee work condition elements based on one or more of: the type of workstation for which the employee work conditions are being evaluated, what building features are available in the factory or workspace, and/or a type of worker or employee associated with the workstations. For each employee work condition element of the one or more employee work condition elements, the computer system calculates a corresponding workstation value for each workstation of the factory or workplace. Based on the workstation values for the workstations of the factory or workplace, the computer system generates an element value for the employee work condition element. The computer system generates an overall work condition value for the layout based on the element values for the one or more employee work condition elements.

At least one advantage of the disclosed techniques is that the computer system determines employee work conditions of a layout for a factory or workplace, without the layout being implemented and used in operation of the factory or workplace. Unlike typical approaches for analyzing a layout of a factory or workplace that involve evaluating quantitative elements of the layout, this approach provides metrics that quantify and measure employee work conditions, which is typically a qualitative element. Additionally, the metrics for different employee work condition elements are combined into a single value reflecting, an overall employee work condition for a layout, that can be compared across different designs. A user can utilize the generated values to further optimize potential layouts and quickly see how different adjustments to a layout affect employee work conditions.

In addition, this approach may be used as part of a design application that iteratively generates improved layouts that meet specific design objectives. For example, the design application may utilize the work condition element values for the different work condition elements in order to determine a layout that is most effective for a particular work condition element. As another example, the design application may utilize overall work condition values as one of several metrics to consider when evaluating different layouts. Accordingly, these technical advantages provide one or more technological advancements over prior art approaches.

1. In various embodiments, a computer-implemented method for computationally determining employee work conditions comprises receiving a building layout specifying, for each workspace of a plurality of workspaces included in a workplace, a respective location of the workspace, selecting one or more work condition elements from a plurality of work condition elements based at least on the plurality of workspaces, and for each work condition element of the one or more work condition elements, evaluating the plurality of workspaces based on the work condition element, based on the evaluating the plurality of workspaces, generating an element value corresponding to the work condition element, computing, based on element values corresponding to the one or more work condition elements, an overall work condition value associated with the building layout, and modifying the building layout based on the overall work condition value.

2. The method of clause 1, further comprising determining a building type associated with the workplace, where selecting the one or more work condition elements is further based on the building type associated with the workplace.

3. The method of clause 1 or 2, further comprising determining one or more types of workers associated with the workplace, where selecting the one or more work condition elements is further based on the one or more types of worker associated with the workplace.

4. The method of any of clauses 1-3, further comprising determining one or more operations associated with the workplace, where selecting the one or more work condition elements is further based on the one or more operations associated with the workplace.

5. The method of any of clauses 1-4, where, for a given work condition element, evaluating the plurality of workspaces based on the work condition element includes generating, for each workspace of the plurality of workspaces, a workspace value corresponding to the workspace, where generating the element value corresponding to the work condition element is further based on workspace values corresponding to the plurality of workspaces.

6. The method of any of clauses 1-5, where, for a given work condition element, evaluating the plurality of workspaces based on the work condition element includes determining, for each workspace of the plurality of workspaces, whether the workspace satisfies the work condition element.

7. The method of any of clauses 1-6, where, for a given work condition element, evaluating the plurality of workspaces based on the work condition element includes generating a plurality of view rays from the plurality of workspaces to a target destination.

8. The method of any of clauses 1-7, further comprising identifying a subset of view rays of the plurality of view rays, wherein each view ray of the subset of view rays is unobstructed, where generating the element value corresponding to the work condition element is further based on the subset of view rays.

9. The method of any of clauses 1-8, where evaluating the plurality of workspaces based on the work condition element includes generating a plurality of view rays from a target source to the plurality of workspaces.

10. The method of any of clauses 1-9, further comprising identifying a subset of view rays of the plurality of view rays, where each view ray of the subset of view rays is unobstructed, where generating the element value corresponding to the work condition element is further based on the subset of view rays.

11. The method of any of clauses 1-10, where evaluating the plurality of workspaces based on the work condition element includes generating a plurality of paths from the plurality of workspaces to a target destination.

12. The method of any of clauses 1-11, further comprising calculating, for each path of the plurality of paths, a length of the path, and identifying a subset of paths of the plurality of paths, wherein the length of each path in the subset of paths is within a threshold value, where generating the element value corresponding to the work condition element is further based on the subset of paths.

13. The method of any of clauses 1-12, further comprising calculating, for each path of the plurality of paths, a travel time associated with the path, and identifying a subset of paths of the plurality of paths, wherein the travel time associated with each path in the subset of paths is within a threshold value, where generating the element value corresponding to the work condition element is further based on the subset of paths.

14. The method of any of clauses 1-13, further comprising normalizing the overall work condition value, based on the one or more work condition elements, to generate a normalized overall work condition value.

15. In various embodiments, one or more non-transitory computer readable media store instructions that, when executed by one or more processors, cause the one or more processors to perform the steps of receiving a building layout specifying, for each workspace of a plurality of workspaces included in a workplace, a respective location of the workspace, selecting one or more work condition elements from a plurality of work condition elements based at least on the plurality of workspaces, for each work condition element of the one or more work condition elements, evaluating the plurality of workspaces based on the work condition element, based on the evaluating the plurality of workspaces, generating an element value corresponding to the work condition element, computing, based on element values corresponding to the one or more work condition elements, an overall work condition value associated with the building layout, and modifying the building layout based on the overall work condition value.

16. The one or more non-transitory computer readable media of clause 15, further comprising determining a building type associated with the workplace, where selecting the one or more work condition elements is further based on the building type associated with the workplace.

17. The one or more non-transitory computer readable media of clause 15 or 16, further comprising determining one or more types of workers associated with the workplace, where selecting the one or more work condition elements is further based on the one or more types of worker associated with the workplace.

18. The one or more non-transitory computer readable media of any of clauses 15-17, further comprising determining one or more operations associated with the workplace, wherein selecting the one or more work condition elements is further based on the one or more operations associated with the workplace.

19. In various embodiments, a computer system comprises a memory storing instructions, and one or more processors for executing the instructions to receive a building layout specifying, for each workspace of a plurality of workspaces included in a workplace, a respective location of the workspace, select one or more work condition elements from a plurality of work condition elements based at least on the plurality of workspaces, for each work condition element of the one or more work condition elements, evaluate the plurality of workspaces based on the work condition element, based on the evaluating the plurality of workspaces, generate an element value corresponding to the work condition element, compute, based on element values corresponding to the one or more work condition elements, an overall work condition value associated with the building layout, and modify the building layout based on the overall work condition value.

20. The computer system of clause 19, further comprising determining a building type associated with the workplace, where selecting the one or more work condition elements is further based on the building type associated with the workplace.

Any and all combinations of any of the claim elements recited in any of the claims and/or any elements described in this application, in any fashion, fall within the contemplated scope of the present invention and protection.

The descriptions of the various embodiments have been presented for purposes of illustration, but are not intended to be exhaustive or limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments.

Aspects of the present embodiments may be embodied as a system, method or computer program product. Accordingly, aspects of the present disclosure may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “module,” a “system,” or a “computer.” In addition, any hardware and/or software technique, process, function, component, engine, module, or system described in the present disclosure may be implemented as a circuit or set of circuits. Furthermore, aspects of the present disclosure may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.

Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.

Aspects of the present disclosure are described above with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the disclosure. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine. The instructions, when executed via the processor of the computer or other programmable data processing apparatus, enable the implementation of the functions/acts specified in the flowchart and/or block diagram block or blocks. Such processors may be, without limitation, general purpose processors, special-purpose processors, application-specific processors, or field-programmable gate arrays.

The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.

While the preceding is directed to embodiments of the present disclosure, other and further embodiments of the disclosure may be devised without departing from the basic scope thereof, and the scope thereof is determined by the claims that follow. 

What is claimed is:
 1. A computer-implemented method for computationally determining employee work conditions, the method comprising: receiving a building layout specifying, for each workspace of a plurality of workspaces included in a workplace, a respective location of the workspace; selecting one or more work condition elements from a plurality of work condition elements based at least on the plurality of workspaces; for each work condition element of the one or more work condition elements: evaluating the plurality of workspaces based on the work condition element; based on the evaluating the plurality of workspaces, generating an element value corresponding to the work condition element; computing, based on element values corresponding to the one or more work condition elements, an overall work condition value associated with the building layout; and modifying the building layout based on the overall work condition value.
 2. The method of claim 1, further comprising determining a building type associated with the workplace, wherein selecting the one or more work condition elements is further based on the building type associated with the workplace.
 3. The method of claim 1, further comprising determining one or more types of workers associated with the workplace, wherein selecting the one or more work condition elements is further based on the one or more types of worker associated with the workplace.
 4. The method of claim 1, further comprising determining one or more operations associated with the workplace, wherein selecting the one or more work condition elements is further based on the one or more operations associated with the workplace.
 5. The method of claim 1, wherein, for a given work condition element, evaluating the plurality of workspaces based on the work condition element includes: generating, for each workspace of the plurality of workspaces, a workspace value corresponding to the workspace, wherein generating the element value corresponding to the work condition element is further based on workspace values corresponding to the plurality of workspaces.
 6. The method of claim 1, wherein, for a given work condition element, evaluating the plurality of workspaces based on the work condition element includes determining, for each workspace of the plurality of workspaces, whether the workspace satisfies the work condition element.
 7. The method of claim 1, wherein, for a given work condition element, evaluating the plurality of workspaces based on the work condition element includes generating a plurality of view rays from the plurality of workspaces to a target destination.
 8. The method of claim 7, further comprising: identifying a subset of view rays of the plurality of view rays, wherein each view ray of the subset of view rays is unobstructed, wherein generating the element value corresponding to the work condition element is further based on the subset of view rays.
 9. The method of claim 1, wherein evaluating the plurality of workspaces based on the work condition element includes generating a plurality of view rays from a target source to the plurality of workspaces.
 10. The method of claim 9, further comprising: identifying a subset of view rays of the plurality of view rays, wherein each view ray of the subset of view rays is unobstructed, wherein generating the element value corresponding to the work condition element is further based on the subset of view rays.
 11. The method of claim 1, wherein evaluating the plurality of workspaces based on the work condition element includes generating a plurality of paths from the plurality of workspaces to a target destination.
 12. The method of claim 11, further comprising: calculating, for each path of the plurality of paths, a length of the path; and identifying a subset of paths of the plurality of paths, wherein the length of each path in the subset of paths is within a threshold value, wherein generating the element value corresponding to the work condition element is further based on the subset of paths.
 13. The method of claim 11, further comprising: calculating, for each path of the plurality of paths, a travel time associated with the path; and identifying a subset of paths of the plurality of paths, wherein the travel time associated with each path in the subset of paths is within a threshold value, wherein generating the element value corresponding to the work condition element is further based on the subset of paths.
 14. The method of claim 1, further comprising normalizing the overall work condition value, based on the one or more work condition elements, to generate a normalized overall work condition value.
 15. One or more non-transitory computer readable media storing instructions that, when executed by one or more processors, cause the one or more processors to perform the steps of: receiving a building layout specifying, for each workspace of a plurality of workspaces included in a workplace, a respective location of the workspace; selecting one or more work condition elements from a plurality of work condition elements based at least on the plurality of workspaces; for each work condition element of the one or more work condition elements: evaluating the plurality of workspaces based on the work condition element; based on the evaluating the plurality of workspaces, generating an element value corresponding to the work condition element; computing, based on element values corresponding to the one or more work condition elements, an overall work condition value associated with the building layout; and modifying the building layout based on the overall work condition value.
 16. The one or more non-transitory computer readable media of claim 15, further comprising determining a building type associated with the workplace, wherein selecting the one or more work condition elements is further based on the building type associated with the workplace.
 17. The one or more non-transitory computer readable media of claim 15, further comprising determining one or more types of workers associated with the workplace, wherein selecting the one or more work condition elements is further based on the one or more types of worker associated with the workplace.
 18. The one or more non-transitory computer readable media of claim 15, further comprising determining one or more operations associated with the workplace, wherein selecting the one or more work condition elements is further based on the one or more operations associated with the workplace.
 19. A computer system, comprising: a memory storing instructions; and one or more processors for executing the instructions to: receive a building layout specifying, for each workspace of a plurality of workspaces included in a workplace, a respective location of the workspace, select one or more work condition elements from a plurality of work condition elements based at least on the plurality of workspaces, for each work condition element of the one or more work condition elements: evaluate the plurality of workspaces based on the work condition element, based on the evaluating the plurality of workspaces, generate an element value corresponding to the work condition element, compute, based on element values corresponding to the one or more work condition elements, an overall work condition value associated with the building layout, and modify the building layout based on the overall work condition value.
 20. The computer system of claim 19, further comprising determining a building type associated with the workplace, wherein selecting the one or more work condition elements is further based on the building type associated with the workplace. 